#ifndef FOUNDATION_IOTACQ_ACQ_H
#define FOUNDATION_IOTACQ_ACQ_H

#include <vendor_global.h>
#include <settings/config_parser.h>
#include <leoyun/yun_rpc.h>
#include <unordered_map>
#include <uv.h>
#include "acq_task.h"

namespace iot_acq {
class AcqVendor : public vendor::VendorBase {
public:
    AcqVendor();
    virtual ~AcqVendor();

    virtual int Run();
    virtual std::string Name();
    virtual void Stop(int signal);
protected:
    virtual int ParseCmdline(const std::string &optname, const std::string &optarg);
    virtual vendor::MyOpt *GetOpts();
    virtual int GetOptSize();

private:
    settings::ConfigParser configParser_;
    uv_handle_t* timerCheck_ = nullptr;
    AcqTask *acqTask_ = nullptr;
};
}
#endif // FOUNDATION_IOTACQ_ACQ_H